package com.itany.corejava.code09_异常;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @author MissChen
 * @date 2024年03月07日 13:48
 */
public class Test05_方法重写时异常问题 {
    public static void main(String[] args) {

    }

    // 方法重写时对于异常存在要求
    // 如果父类不抛出异常, 则子类不能抛出检查异常 , 但是可以抛出运行时异常或在方法内部使用try‐catchfinally捕获处理异常

    // 简单来讲, 父类没有通过throws 抛出异常, 子类也不能通过throws 抛出异常
    //         如果父类抛出异常, 子类可以抛出异常, 也可以不抛出异常
    //         子类不能抛出比父类更大的异常
    class A{
        public void show() throws  Exception {
            Date date=new SimpleDateFormat("yyyy-MM-dd").parse("2023-03-08");
            System.out.println("这是父类的show方法");
        }
    }
    class B extends A{
        @Override
        public void show() throws Exception {
            try {
                Class.forName("com.itany.hello");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
            int i=2/0;
            throw new Exception("检查异常");
        }
    }
}
